#ifndef CUBE_DOUBLE_PARAM_H
#define CUBE_DOUBLE_PARAM_H

#include "MatrixDoubleParam.h"

class CubeDoubleParam: public Param {
protected:
	MatrixDoubleParam *values;
	int size;
	char label;

	MatrixDoubleParam &get( int i ) throw (InvalidIndex, NotReady);

public:
	CubeDoubleParam();
	CubeDoubleParam( int tab, char tabLabel, const char *name );
	CubeDoubleParam( int tab, int row, char tabLabel, char rowLabel, const char *name );
	CubeDoubleParam( int tab, int row, int col, char tabLabel, char rowLabel, char colLabel, const char *name );
	CubeDoubleParam( CubeDoubleParam &src );
	~CubeDoubleParam();

	void read( Input &input ) throw (NotReady);

	MatrixDoubleParam &operator [] ( int i ) throw (InvalidIndex, NotReady);

	void setSize( int size ) throw (NotReady);
	void setLabel( char label ) throw (NotReady);
	int getSize() throw (NotReady);
	char getLabel() throw (NotReady);
};

#endif